/** @jsxImportSource @emotion/react */
import * as React from "react";
import {  OriginalViewProps,  } from "../../common/base";
import {config设备概况, EntranceSetup} from "./orcBase";
import { createItem,  } from "../../common/eHelper";
import { useRecordListSubr} from "../../hook/useRecordListSub";
import {DeviceSurvey} from "../../elevator/editor";
import { ConclusionPressPlNj,} from "../editorDJ";
import {MaterialReview, PreviousQuestion} from "../editorReview";
import {AccessoriesPL} from "../editorAcces";
import {PropertySolidify} from "../EditorFeature";
import {SingleLineDiagram} from "../editorLineDg";
import {ProjectListNj } from "../Projects";
import {AnnAttachment} from "./annAttach";


/**@property na : 表示不在结论附录当中出现的吗，但都出现在目录中的。
 * @property ml : 该分项在目录中的文本显示题目。
 * 原平台testlogcfg.ses的 "contlist" :[ {"contname":}, ]列出全部分项。  而"mainpage":[ ]扣除"addpage":[]后的是固定的必须展示。
 * */
export const Projects默认=[{name:'工业管道年度检查结论报告',do:true,ha:'Conclusion'},
  {name:'工业管道年度检查报告附页',ha:'AnnAttachment'},
  {name:'壁厚测定报告',ha:'rp_thickm_'},
  {name:'管道特性表',ha:'Characteristics',},
  {name:'管道单线图',ha:'PipeLineDiagram',},
];


//【承压类的：就不考虑打印】原始记录，一一对应的报告的录入编辑数据，可打印。
//不需要每个verId新搞一个文件的，甚至不需要搞新的组件，可以只需内部逻辑处理。
//分离模式，编辑器脱离不在报告项目文本页面上面组装也就是原位置变换编辑框框或弹出模态对话框来输入的，把编辑器独立分离，点击一块区域路由器跳转独立的编辑页面，不一定一次跳转只针对单一行也能合并多行一起来编辑的。
//自定义路由器的配置拆分URL?action映射到页面组件；对应某报告模板下所有编辑修改组件；原始记录打印展示全部列表。項目標記符不能用ALL none preview printAll item1.1保留字。
//路由名字是非中文的且不可以包含"/"保留符号的。若是【独立模板编码】的分项报告不在这里列出的。
const recordPrintList =[
  createItem('Entrance', <EntranceSetup/>),
  createItem('ProjectList', <ProjectListNj label={'工业管道定期检验结论报告附页'} projects={Projects默认}/>),
  createItem('Survey', <DeviceSurvey config={config设备概况} label={'检查结论报告-设备概况'}/>),
  createItem('Conclusion', <ConclusionPressPlNj label={'检查结论报告-下结论'}/>),
  createItem('AnnAttachment', <AnnAttachment label={'工业管道年度检查报告附页'}/>),
  createItem('Solidify', <PropertySolidify label={'管道特性表-管理器'}/>),
  createItem('LineDiagram', <SingleLineDiagram />),
  //嵌入redId nestMd 动态解析URL寻找定位的分项报告原始的不分是独立或者嵌套公用入口编辑器？这里当前做法是直接拷贝import组件的！组件的文件目录都是不相等的！！
  //壁厚测定报告 的 分项控制器：后面不需要要配<Corrosive/>的。 对应/report/THICKM_VS/ver/1/akDHJi77Qh2xTd4BJwdb5FJlcG9ydA/THICKM_VS/_Controller
  createItem('_Controller',  <></>),
];

//forwardRef实际上已经没用了，ref，也可改成简易组件模式。
//编辑器右半边页面的组织显示，可自定义，action路由自己构造。编辑器保存通过EditStorageContext来统一做。
//注意storage,outCome的报告存储字段名称唯一性要求！【实际上】单个区单项目编辑没必要加ref=clRefs[]就能够保存数据，全部ALL显示的才用到传递和保存。
//从RecordStarter延续来这里增加态路由赋值的qs参数，recordList= React.useMemo([,qs])配合更新，才能够真正做到点击切换ProjectList?from=5后面的from参数变动可以立刻引起编辑器组件显示内容的render立刻同步变化显示。
export const OriginalView=
  React.forwardRef((
    { action: modAction,  verId, repId='', rep}
    :OriginalViewProps, ref
  ) => {
    const {list}=useRecordListSubr(ref,rep,recordPrintList,modAction,verId);
    return <React.Fragment>
      {list}
    </React.Fragment>;
  } );

